\hypertarget{body__loop_8h}{}\section{body\+\_\+loop.\+h File Reference}
\label{body__loop_8h}\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
{\ttfamily \#include \char`\"{}structs.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}faceloop\+\_\+generator.\+h\char`\"{}}\\*
{\ttfamily \#include $<$vector$>$}\\*
{\ttfamily \#include $<$utility$>$}\\*
Include dependency graph for body\+\_\+loop.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=340pt]{body__loop_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{body__loop_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classbody__loop}{body\+\_\+loop}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ \hyperlink{classbody__loop}{body\+\_\+loop} $>$ \hyperlink{body__loop_8h_a230720d5c9d1a2805c6c743287d28d5b}{generate\+\_\+body\+\_\+loop} (std\+::vector$<$ \hyperlink{classface__loop}{face\+\_\+loop} $>$ face\+\_\+loop\+\_\+list, std\+::vector$<$ \hyperlink{classvertex__3d}{vertex\+\_\+3d} $>$ v3d\+\_\+list)
\item 
pair$<$ int, bool $>$ \hyperlink{body__loop_8h_a85f5918713a8c62784797c5766195628}{successive\+\_\+face\+\_\+loop} (std\+::vector$<$ \hyperlink{classface__loop}{face\+\_\+loop} $>$ face\+\_\+loop\+\_\+list, \hyperlink{classface__loop}{face\+\_\+loop} fl, int fl\+\_\+int, bool side, \hyperlink{classedge__3d}{edge\+\_\+3d} e, std\+::vector$<$ \hyperlink{classvertex__3d}{vertex\+\_\+3d} $>$ v3d\+\_\+list, bool inner\+\_\+basic)
\item 
void \hyperlink{body__loop_8h_af9a0c6603771f19b48cb31a570811386}{initialize\+\_\+side\+\_\+used} (std\+::vector$<$ pair$<$ bool, bool $>$ $>$ \&side\+\_\+used)
\begin{DoxyCompactList}\small\item\em function that initializes side\+\_\+used for both sides + and -\/ for every body loop \end{DoxyCompactList}\item 
bool \hyperlink{body__loop_8h_a0378c493f0dba980e5de09d11f03f447}{check\+\_\+legality} (\hyperlink{classbody__loop}{body\+\_\+loop} bp)
\begin{DoxyCompactList}\small\item\em function that checks that if a body part generated is legal or not \end{DoxyCompactList}\item 
bool \hyperlink{body__loop_8h_a68ebe3fd8487bbca7800bd67b4386970}{inner\+\_\+outer} (\hyperlink{classbody__loop}{body\+\_\+loop} bp, std\+::vector$<$ \hyperlink{classvertex__3d}{vertex\+\_\+3d} $>$ v3d\+\_\+list)
\begin{DoxyCompactList}\small\item\em function that determines if give body loop is inner or outer \end{DoxyCompactList}\item 
std\+::vector$<$ float $>$ \hyperlink{body__loop_8h_ad8e1589cd5ef438b41ebcce9fc970049}{get\+\_\+ray\+\_\+l} (\hyperlink{classplane}{plane} p1, \hyperlink{classplane}{plane} p2, bool s1, bool s2)
\begin{DoxyCompactList}\small\item\em function that determines vector along ray l = /$\vert$n1$\vert$ + /$\vert$n2$\vert$, where @ is the corresponding side \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function Documentation}
\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!check\+\_\+legality@{check\+\_\+legality}}
\index{check\+\_\+legality@{check\+\_\+legality}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{check\+\_\+legality(body\+\_\+loop bp)}{check_legality(body_loop bp)}}]{\setlength{\rightskip}{0pt plus 5cm}bool check\+\_\+legality (
\begin{DoxyParamCaption}
\item[{{\bf body\+\_\+loop}}]{bp}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_a0378c493f0dba980e5de09d11f03f447}{}\label{body__loop_8h_a0378c493f0dba980e5de09d11f03f447}


function that checks that if a body part generated is legal or not 



Definition at line 160 of file body\+\_\+loop.\+cpp.

\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!generate\+\_\+body\+\_\+loop@{generate\+\_\+body\+\_\+loop}}
\index{generate\+\_\+body\+\_\+loop@{generate\+\_\+body\+\_\+loop}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{generate\+\_\+body\+\_\+loop(std\+::vector$<$ face\+\_\+loop $>$ face\+\_\+loop\+\_\+list, std\+::vector$<$ vertex\+\_\+3d $>$ v3d\+\_\+list)}{generate_body_loop(std::vector< face_loop > face_loop_list, std::vector< vertex_3d > v3d_list)}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<$ {\bf body\+\_\+loop} $>$ generate\+\_\+body\+\_\+loop (
\begin{DoxyParamCaption}
\item[{std\+::vector$<$ {\bf face\+\_\+loop} $>$}]{face\+\_\+loop\+\_\+list, }
\item[{std\+::vector$<$ {\bf vertex\+\_\+3d} $>$}]{v3d\+\_\+list}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_a230720d5c9d1a2805c6c743287d28d5b}{}\label{body__loop_8h_a230720d5c9d1a2805c6c743287d28d5b}

\begin{DoxyParams}{Parameters}
{\em face\+\_\+loop\+\_\+list} & list of all face loops generated for the reconstruction \\
\hline
{\em v3d\+\_\+list} & vector of the 3d-\/vertices of the 3D object \\
\hline
\end{DoxyParams}


Definition at line 33 of file body\+\_\+loop.\+cpp.

\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!get\+\_\+ray\+\_\+l@{get\+\_\+ray\+\_\+l}}
\index{get\+\_\+ray\+\_\+l@{get\+\_\+ray\+\_\+l}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{get\+\_\+ray\+\_\+l(plane p1, plane p2, bool s1, bool s2)}{get_ray_l(plane p1, plane p2, bool s1, bool s2)}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<$float$>$ get\+\_\+ray\+\_\+l (
\begin{DoxyParamCaption}
\item[{{\bf plane}}]{p1, }
\item[{{\bf plane}}]{p2, }
\item[{bool}]{s1, }
\item[{bool}]{s2}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_ad8e1589cd5ef438b41ebcce9fc970049}{}\label{body__loop_8h_ad8e1589cd5ef438b41ebcce9fc970049}


function that determines vector along ray l = /$\vert$n1$\vert$ + /$\vert$n2$\vert$, where @ is the corresponding side 



Definition at line 187 of file body\+\_\+loop.\+cpp.

\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!initialize\+\_\+side\+\_\+used@{initialize\+\_\+side\+\_\+used}}
\index{initialize\+\_\+side\+\_\+used@{initialize\+\_\+side\+\_\+used}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{initialize\+\_\+side\+\_\+used(std\+::vector$<$ pair$<$ bool, bool $>$ $>$ \&side\+\_\+used)}{initialize_side_used(std::vector< pair< bool, bool > > &side_used)}}]{\setlength{\rightskip}{0pt plus 5cm}void initialize\+\_\+side\+\_\+used (
\begin{DoxyParamCaption}
\item[{std\+::vector$<$ pair$<$ bool, bool $>$ $>$ \&}]{side\+\_\+used}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_af9a0c6603771f19b48cb31a570811386}{}\label{body__loop_8h_af9a0c6603771f19b48cb31a570811386}


function that initializes side\+\_\+used for both sides + and -\/ for every body loop 



Definition at line 152 of file body\+\_\+loop.\+cpp.

\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!inner\+\_\+outer@{inner\+\_\+outer}}
\index{inner\+\_\+outer@{inner\+\_\+outer}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{inner\+\_\+outer(body\+\_\+loop bp, std\+::vector$<$ vertex\+\_\+3d $>$ v3d\+\_\+list)}{inner_outer(body_loop bp, std::vector< vertex_3d > v3d_list)}}]{\setlength{\rightskip}{0pt plus 5cm}bool inner\+\_\+outer (
\begin{DoxyParamCaption}
\item[{{\bf body\+\_\+loop}}]{bp, }
\item[{std\+::vector$<$ {\bf vertex\+\_\+3d} $>$}]{v3d\+\_\+list}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_a68ebe3fd8487bbca7800bd67b4386970}{}\label{body__loop_8h_a68ebe3fd8487bbca7800bd67b4386970}


function that determines if give body loop is inner or outer 



Definition at line 180 of file body\+\_\+loop.\+cpp.

\index{body\+\_\+loop.\+h@{body\+\_\+loop.\+h}!successive\+\_\+face\+\_\+loop@{successive\+\_\+face\+\_\+loop}}
\index{successive\+\_\+face\+\_\+loop@{successive\+\_\+face\+\_\+loop}!body\+\_\+loop.\+h@{body\+\_\+loop.\+h}}
\subsubsection[{\texorpdfstring{successive\+\_\+face\+\_\+loop(std\+::vector$<$ face\+\_\+loop $>$ face\+\_\+loop\+\_\+list, face\+\_\+loop fl, int fl\+\_\+int, bool side, edge\+\_\+3d e, std\+::vector$<$ vertex\+\_\+3d $>$ v3d\+\_\+list, bool inner\+\_\+basic)}{successive_face_loop(std::vector< face_loop > face_loop_list, face_loop fl, int fl_int, bool side, edge_3d e, std::vector< vertex_3d > v3d_list, bool inner_basic)}}]{\setlength{\rightskip}{0pt plus 5cm}pair$<$int,bool$>$ successive\+\_\+face\+\_\+loop (
\begin{DoxyParamCaption}
\item[{std\+::vector$<$ {\bf face\+\_\+loop} $>$}]{face\+\_\+loop\+\_\+list, }
\item[{{\bf face\+\_\+loop}}]{fl, }
\item[{int}]{fl\+\_\+int, }
\item[{bool}]{side, }
\item[{{\bf edge\+\_\+3d}}]{e, }
\item[{std\+::vector$<$ {\bf vertex\+\_\+3d} $>$}]{v3d\+\_\+list, }
\item[{bool}]{inner\+\_\+basic}
\end{DoxyParamCaption}
)}\hypertarget{body__loop_8h_a85f5918713a8c62784797c5766195628}{}\label{body__loop_8h_a85f5918713a8c62784797c5766195628}

\begin{DoxyParams}{Parameters}
{\em face\+\_\+loop\+\_\+list} & list of all face loops of the object \\
\hline
{\em fl} & face loop for which successive face loop is being found \\
\hline
{\em side} & side of the face loop (i.\+e + or -\/) \\
\hline
{\em e} & edge of the face loop fl at which successive face loop has to be found \\
\hline
{\em e\+\_\+vector} & 3$\ast$1 vector for direction of the edge e \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the index of successive face loop and its side 
\end{DoxyReturn}


Definition at line 111 of file body\+\_\+loop.\+cpp.

